@Ineverleft
2年前 提问
1个回答

SQL Server提供了哪些安全机制

Simon
2年前

SQL Server提供了以下安全机制:

  • 身份验证:对用户的身份认证是数据库管理系统提供的最外层安全保护措施,其方法是用户进入系统时通过输入 ID 和密码向系统出示自己的身份证明,系统对用户身份进行审查核实,经过确认后才提供与之相对应的系统服务。SQL Server 支持两种身份认证模式:Windows NT 认证模式和混合认证模式。

  • 访问控制:为了保证用户只能存取有权存取的数据,数据库系统要求对每个用户定义存取权限。在 SQL Server 中,用户是属于特定数据库的,数据库用户与登录标识相关联,一个应用程序使用登录标识向 SQL Server 登录成功后,能否对某个数据库进行操作,由该数据库中是否有相应的数据库用户来决定。SQL Server 可根据访问用户所属的用户类型,利用 GRANT 等语句来对数据库或数据库对象作权限的控制,能够较为完善地支持自主访问控制策略。

  • 审计功能:数据库审计是监视和记录用户对数据库所施加的各种操作的机制。通过审计机制,可以自动记录用户操作,利用审计跟踪的信息,便于追查有关责任,也有助于发现系统安全方面的弱点和漏洞。

  • 数据库加密:数据库加密通过将数据用密文形式存储或传输的手段保证高敏感数据的安全,这样可以防止那些企图通过不正常途径存取数据的行为。

  • 完整性机制:数据库的完整性机制用于规定数据库中的数据应满足的语义,并对其进行检查,以保证数据的正确性和相容性。SQL Server 提供了完善的数据完整性定义和检查机制,可以通过SQL语句或企业管理器中的可视化界面进行完整性定义,不用额外书写代码,可以有效地支持数据的实体完整性、参照完整性检查,并且提供比较灵活的用户自定义完整性定义检查机制。

  • 触发器机制:SQL Server 还提供了触发器机制。当对数据库表进行插入、更新和删除操作时,触发器能够自动根据实际情况触发执行,产生一系列操作或回退那些破坏数据库完整性的操作。触发器可以包含非常复杂的程序设计逻辑,能提供约束、规则和默认的功能。

  • 视图和存储过程机制:视图是从一个或几个基本表(视图)中导出的虚表。在数据库系统中,可以利用视图通过授予用户操作特定视图的权限,限制用户访问表的特定行和特定列来保证数据的安全,防止用户对基本表的操作,实现行级或列级的安全性。

  • 备份、恢复和并发控制机制:为防止系统发生故障导致重要数据的丢失或损坏,保证数据库系统在最短时间内恢复运行,数据库管理系统应具备备份和恢复机制。